package com.xu.mvc.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

/**
 * RESTful 风格
 *
 * 1. RESTful 风格简介
 *
 * 具体说，就是 HTTP 协议里面，四个表示操作方式的动词：GET、POST、PUT、DELETE。它们分别对应四种基本操作：
 *      GET 用来获取资源
 *      POST 用来新建资源
 *      PUT 用来更新资源
 *      DELETE 用来删除资源
 *
 * REST 风格提倡 URL 地址使用统一的风格设计，从前到后各个单词使用斜杠分开，不使用问号键值对方式携带请求参数，而是将要发送给
 * 服务器的数据作为 URL 地址的一部分，以保证整体风格的一致性。
 *
 * 查询操作     getUserById?id=1        user/1-->get请求方式
 * 添加操作     saveUser                user-->post请求方式
 * 删除操作     deleteUser?id=1         user/1-->delete请求方式
 * 更新操作     updateUser              user-->put请求方式
 *
 * 2. HiddenHttpMethodFilter
 *
 * 由于浏览器只支持发送 get 和 post 方式的请求，那么该如何发送 put 和 delete 请求呢？SpringMVC 提供了 HiddenHttpMethodFilter
 * 帮助我们将 POST 请求转换为 DELETE 或 PUT 请求。HiddenHttpMethodFilter 处理 put 和 delete 请求的条件：
 *
 * a> 当前请求的请求方式必须为 post
 * b> 当前请求必须传输请求参数 _method
 *
 * 满足以上条件，HiddenHttpMethodFilter 过滤器就会将当前请求的请求方式转换为请求参数 _method 的值，因此请求参数 _method 的值才
 * 是最终的请求方式在 web.xml 中注册 HiddenHttpMethodFilter
 *
 * 目前为止，SpringMVC 中提供了两个过滤器：CharacterEncodingFilter 和 HiddenHttpMethodFilter。在 web.xml 中注册时，必须先注册
 * CharacterEncodingFilter，再注册 HiddenHttpMethodFilter
 *
 *
 */

@Controller
public class HelloController {

}
